// RAP [rh] File names and extensions don't make sense in RAP ///******************************************************************************* // * Copyright (c) 2000, 2007 IBM Corporation and others. // * All rights reserved. This program and the accompanying materials // * are made available under the terms of the Eclipse Public License v1.0 // * which accompanies this distribution, and is available at // * http://www.eclipse.org/legal/epl-v10.html // * // * Contributors: // * IBM Corporation - initial API and implementation // *******************************************************************************/ //package org.eclipse.ui.internal.dialogs; // //import org.eclipse.jface.dialogs.Dialog; //import org.eclipse.jface.dialogs.IDialogConstants; //import org.eclipse.jface.dialogs.IDialogSettings; //import org.eclipse.jface.dialogs.TitleAreaDialog; //import org.eclipse.jface.layout.GridLayoutFactory; //import org.eclipse.jface.layout.LayoutConstants; //import org.eclipse.swt.SWT; //import org.eclipse.swt.events.ModifyEvent; //import org.eclipse.swt.events.ModifyListener; //import org.eclipse.swt.graphics.Point; //import org.eclipse.swt.layout.GridData; //import org.eclipse.swt.widgets.Button; //import org.eclipse.swt.widgets.Composite; //import org.eclipse.swt.widgets.Control; //import org.eclipse.swt.widgets.Label; //import org.eclipse.swt.widgets.Shell; //import org.eclipse.swt.widgets.Text; //import org.eclipse.ui.PlatformUI; //import org.eclipse.ui.internal.IWorkbenchHelpContextIds; //import org.eclipse.ui.internal.WorkbenchMessages; //import org.eclipse.ui.internal.WorkbenchPlugin; // ///** // * This class is used to prompt the user for a file name & extension. // */ //public class FileExtensionDialog extends TitleAreaDialog { // // private static final String DIALOG_SETTINGS_SECTION = "FileExtensionDialogSettings"; //$NON-NLS-1$ // // private String filename = ""; //$NON-NLS-1$ // // private String initialValue; // // private Text filenameField; // // private Button okButton; // // private String title; // // private String helpContextId; // // private final String headerTitle; // // private final String message2; // // private final String label; // // /** // * Constructs a new file extension dialog. // * @param parentShell the parent shell // */ // public FileExtensionDialog(Shell parentShell) { // this(parentShell, WorkbenchMessages.get().FileExtension_shellTitle, // IWorkbenchHelpContextIds.FILE_EXTENSION_DIALOG, // WorkbenchMessages.get().FileExtension_dialogTitle, // WorkbenchMessages.get().FileExtension_fileTypeMessage, // WorkbenchMessages.get().FileExtension_fileTypeLabel); // } // // /** // * Constructs a new file extension dialog. // * // * @param parentShell the parent shell // * @param title the dialog title // * @param helpContextId the help context for this dialog // * @param headerTitle the dialog header // * @param message the dialog message // * @param label the label for the "file type" field // * @since 3.4 // */ // public FileExtensionDialog(Shell parentShell, String title, String helpContextId, String headerTitle, String message, String label) { // super(parentShell); // this.title = title; // this.helpContextId = helpContextId; // this.headerTitle = headerTitle; // message2 = message; // this.label = label; // // } // // /* (non-Javadoc) // * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell) // */ // protected void configureShell(Shell shell) { // super.configureShell(shell); // shell.setText(title); // PlatformUI.getWorkbench().getHelpSystem().setHelp(shell, helpContextId); // } // // // /* (non-Javadoc) // * @see org.eclipse.jface.dialogs.TitleAreaDialog#createDialogArea(org.eclipse.swt.widgets.Composite) // */ // protected Control createDialogArea(Composite parent) { // Composite parentComposite = (Composite) super.createDialogArea(parent); // // Composite contents = new Composite(parentComposite, SWT.NONE); // contents.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); // // setTitle(headerTitle); // setMessage(message2); // // new Label(contents, SWT.LEFT) // .setText(label); // // filenameField = new Text(contents, SWT.SINGLE | SWT.BORDER); // if (initialValue != null) { // filenameField.setText(initialValue); // } // filenameField.addModifyListener(new ModifyListener() { // public void modifyText(ModifyEvent event) { // if (event.widget == filenameField) { // filename = filenameField.getText().trim(); // okButton.setEnabled(validateFileType()); // } // } // }); // filenameField.setFocus(); // // Dialog.applyDialogFont(parentComposite); // // Point defaultMargins = LayoutConstants.getMargins(); // GridLayoutFactory.fillDefaults().numColumns(2).margins( // defaultMargins.x, defaultMargins.y).generateLayout(contents); // // return contents; // } // // // /* (non-Javadoc) // * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite) // */ // protected void createButtonsForButtonBar(Composite parent) { // okButton = createButton(parent, IDialogConstants.OK_ID, // IDialogConstants.OK_LABEL, true); // okButton.setEnabled(false); // createButton(parent, IDialogConstants.CANCEL_ID, // IDialogConstants.CANCEL_LABEL, false); // } // // /** // * Validate the user input for a file type // */ // private boolean validateFileType() { // // We need kernel api to validate the extension or a filename // // // check for empty name and extension // if (filename.length() == 0) { // setErrorMessage(null); // return false; // } // // // check for empty extension if there is no name // int index = filename.lastIndexOf('.'); // if (index == filename.length() - 1) { // if (index == 0 || (index == 1 && filename.charAt(0) == '*')) { // setErrorMessage(WorkbenchMessages.get().FileExtension_extensionEmptyMessage); // return false; // } // } // // // check for characters before * // // or no other characters // // or next chatacter not '.' // // or another * // index = filename.indexOf('*'); // if (index > -1) { // if (filename.length() == 1) { // setErrorMessage(WorkbenchMessages.get().FileExtension_extensionEmptyMessage); // return false; // } // if (index != 0 || filename.charAt(1) != '.') { // setErrorMessage(WorkbenchMessages.get().FileExtension_fileNameInvalidMessage); // return false; // } // if (filename.length() > index && filename.indexOf('*', index + 1) != -1) { // setErrorMessage(WorkbenchMessages.get().FileExtension_fileNameInvalidMessage); // return false; // } // } // // setErrorMessage(null); // return true; // } // // /** // * Get the extension. // * // * @return the extension // */ // public String getExtension() { // // We need kernel api to validate the extension or a filename // // int index = filename.lastIndexOf('.'); // if (index == -1) { // return ""; //$NON-NLS-1$ // } // if (index == filename.length()) { // return ""; //$NON-NLS-1$ // } // return filename.substring(index + 1, filename.length()); // } // // /** // * Get the name. // * // * @return the name // */ // public String getName() { // // We need kernel api to validate the extension or a filename // // int index = filename.lastIndexOf('.'); // if (index == -1) { // return filename; // } // if (index == 0) { // return "*"; //$NON-NLS-1$ // } // return filename.substring(0, index); // } // // /** // * Sets the initial value that should be prepopulated in this dialog. // * // * @param initialValue // * the value to be displayed to the user // * @since 3.4 // */ // public void setInitialValue(String initialValue) { // this.initialValue = initialValue; // } // // /* (non-Javadoc) // * @see org.eclipse.jface.dialogs.Dialog#getDialogBoundsSettings() // */ // protected IDialogSettings getDialogBoundsSettings() { // IDialogSettings settings = WorkbenchPlugin.getDefault().getDialogSettings(); // IDialogSettings section = settings.getSection(DIALOG_SETTINGS_SECTION); // if (section == null) section = settings.addNewSection(DIALOG_SETTINGS_SECTION); // return section; // } // // /* // * (non-Javadoc) // * @see org.eclipse.jface.dialogs.Dialog#isResizable() // */ // protected boolean isResizable() { // return true; // } //}